package com.baway.db.entity

import androidx.room.TypeConverter
import com.blankj.utilcode.util.GsonUtils

/**
 * Author: Jason Zhang
 * Date: 2025/8/22
 * Desc: 自定义类型转换器
 * 支持类型：NUll，INTEGER，TEXT, BLOO, REAL
 * 其他类型需要自定义类型转换器
 */
class CustomTypeConverters {

    /**
     * 数据中存储一个List集合，就需要做类型转换
     */
    @TypeConverter
    fun arrayListToString(list: ArrayList<String>): String{
        return GsonUtils.toJson(list)
    }

    /**
     * 将JSON字符串转成集合
     */
    @TypeConverter
    fun stringToArrayList(json: String): ArrayList<String>{
        return GsonUtils.fromJson(json, ArrayList::class.java) as ArrayList<String>
    }

    /**
     * 将Long类型转成字符串
     */
    @TypeConverter
    fun longToString(l: Long): String = l.toString()

    /**
     * 将字符串转成Long类型
     */
    @TypeConverter
    fun stringToLong(s: String): Long = s.toLong()



}